﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace QLTV
{
    public partial class Frm_MuonSach : Form
    {
        public Frm_MuonSach()
        {
            InitializeComponent();
        }
        ketnoi kn = new ketnoi();
        private SqlDataAdapter da = new SqlDataAdapter();
        private DataSet ds = new DataSet();

        private BindingSource bs_bandoc = new BindingSource();
        private BindingSource bs_sach = new BindingSource();
        private BindingSource bs_themsach = new BindingSource();
        private DataTable dt = new DataTable("BANDOC");
        private DataTable dt1 = new DataTable("SACH");
        private DataTable dt2 = new DataTable("PHIEUMUON");

        private void Frm_MuonSach_Load(object sender, EventArgs e)
        {
            groupPanel2.Enabled = false;
            string select2 = "select* from NGUOIDUNG; select* from V_SACH1";
          // string select1 = "select* from SACH";
            DataSet ds = DataConn.GrdSource(select2);
            cmbcanbo.DataSource = ds.Tables[0];
            cmbcanbo.DisplayMember = "idcanbothuvien";
            cmbcanbo.ValueMember = "idcanbothuvien";
            if (cmbcanbo.ValueMember != null)
                values1 = ds.Tables[0].Rows[cmbcanbo.SelectedIndex][0].ToString();

            SqlConnection cn = kn.taokn();

            cn.Open();
            SqlCommand cmd = new SqlCommand(select2, cn);
            da.SelectCommand = cmd;
            da.Fill(ds);
            cn.Close();
            bs_themsach.DataSource = ds;
            bs_themsach.DataMember = ds.Tables[1].TableName;
            cmbnhapsach.DataSource = bs_themsach;
            cmbnhapsach.ValueMember = "idsach";
            cmbnhapsach.DisplayMember = "tensach";
            if (cmbnhapsach.ValueMember != null)
                   values2 = ds.Tables[1].Rows[cmbnhapsach.SelectedIndex][1].ToString();
           
            txtmasachmuon.DataBindings.Add("Text", bs_themsach, "idsach");
            txttentg.DataBindings.Add("Text", bs_themsach, "tentacgia");
            txttennxb.DataBindings.Add("Text", bs_themsach, "tennhaXB");
            txtngongusach.DataBindings.Add("Text", bs_themsach, "tenngonngu");
            txttinhtrangsach.DataBindings.Add("Text", bs_themsach, "tinhtrangsach");
         
          
        }

        string values1 = "";
        private void cboMaMatH_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cmbcanbo.ValueMember != null)
            {
                values1 = cmbcanbo.SelectedValue.ToString();

            }
        }

        string values2 = "";
        private void cbosach_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cmbnhapsach.ValueMember != null)
            {
                values2 = cmbnhapsach.SelectedValue.ToString();

            }
        }

        private void Frm_MuonSach_FormClosing(object sender, FormClosingEventArgs e)
        {
            DialogResult d = MessageBox.Show("Bạn muốn thoát việc thực hiện cho mượn sách không ?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
            if (d == DialogResult.No)
                e.Cancel = true;
        }

        private void btnin_Click(object sender, EventArgs e)
        {
            
        }

        private void timkiem()
        {
            //  anhien();
            dt.Clear();
            SqlConnection cn = kn.taokn();
            cn.Open();
            SqlCommand cmdsearch = new SqlCommand("ProSearch_MaBanDoc", cn);
            cmdsearch.CommandType = CommandType.StoredProcedure;
            cmdsearch.Parameters.Add("@MaBD", SqlDbType.Int).Value = txtmabandoc.Text;
            da.SelectCommand = cmdsearch;
            da.Fill(dt);

            if (dt.Rows.Count > 0)
            {
                MessageBox.Show("Tìm kiếm thành công"); }
            else
            { MessageBox.Show("Không tìm thấy dữ liệu cần tìm", "thông báo", MessageBoxButtons.OK); }
        }

        private void timkiemsach()
        {
            //  anhien();
            dt.Clear();
            SqlConnection cn = kn.taokn();
            cn.Open();
            SqlCommand cmdsearch = new SqlCommand("ProSearch_SachMa", cn);
            cmdsearch.CommandType = CommandType.StoredProcedure;
            cmdsearch.Parameters.Add("@tensach", SqlDbType.NVarChar,50).Value = txttimsach.Text;
          //  cmdsearch.Parameters.Add("@idsach", SqlDbType.Int).Value = txttimsach.Text;
            da.SelectCommand = cmdsearch;
            da.Fill(dt1);

            if (dt1.Rows.Count > 0)
            {
                dataGridViewX1.DataSource = dt1;
                MessageBox.Show("Tìm kiếm thành công");
            }
            else
            { MessageBox.Show("Không tìm thấy dữ liệu cần tìm", "thông báo", MessageBoxButtons.OK); }
        }

        private void btnkiemtra_Click(object sender, EventArgs e)
        {
             
            timkiem();

            string sql = "select * from BANDOC";
            SqlConnection cn = kn.taokn();

            cn.Open();
            SqlCommand cmd = new SqlCommand(sql, cn);
            da.SelectCommand = cmd;
            da.Fill(ds);
            cn.Close();
            bs_bandoc.DataSource = ds;
            bs_bandoc.DataMember = ds.Tables[0].TableName;
        //    cmbtimkiem.DataSource = bs_bandoc;

            txthethan.DataBindings.Add("Text", bs_bandoc, "ngayhethan");
            txthoten.DataBindings.Add("Text", bs_bandoc, "hovaten");
            txtkhoa.DataBindings.Add("Text", bs_bandoc, "khoa");
            txtlop.DataBindings.Add("Text", bs_bandoc, "lop");
            txtngay.DataBindings.Add("Text", bs_bandoc, "ngaylamthe");
            txtnienkhoa.DataBindings.Add("Text", bs_bandoc, "nienkhoa");
        }

        private void buttonX2_Click(object sender, EventArgs e)
        {
            txtmabandoc.ResetText();
            txthoten.ResetText();
            txthethan.ResetText();
            txtmabandoc.ResetText();
            txtkhoa.ResetText();
            txtlop.ResetText();
            txtngay.ResetText();
            txtnienkhoa.ResetText();
         //   txtnoisinh.ResetText();
           

        }

        private void btnktrasach_Click(object sender, EventArgs e)
        {
            groupPanel2.Enabled = true;
            groupPanel1.Enabled=false
;
        }

        private void btntimkiemsach_Click(object sender, EventArgs e)
        {
            timkiemsach();
          //  string sql = "select * from BANDOC";

          //  SqlConnection cn = kn.taokn();

          //  cn.Open();
          //  SqlCommand cmd = new SqlCommand(sql, cn);
          //  da.SelectCommand = cmd;
          //  da.Fill(ds);
          //  cn.Close();
          //  bs_sach.DataSource = ds;
          //  bs_sach.DataMember = ds.Tables[0].TableName;
          //  //    cmbtimkiem.DataSource = bs_bandoc;

          ////  txtmasach.DataBindings.Add("Text", bs_sach, "idsach");
          //  txtnamxb.DataBindings.Add("Text", bs_sach, "namxuatban");
          //  txtngonngu.DataBindings.Add("Text", bs_sach, "idngonngu");
          //  txtnhaxb.DataBindings.Add("Text", bs_sach, "idnhaXB");
          //  txtsoluong.DataBindings.Add("Text", bs_sach, "idsoluong");
          //  txttacgia.DataBindings.Add("Text", bs_sach, "idtacgia");
          //  txttensach.DataBindings.Add("Text", bs_sach, "tensach");
          //  txttinhtrang.DataBindings.Add("Text", bs_sach, "tinhtrangsach");
          //  txttrangthai.DataBindings.Add("Text", bs_sach, "trangthai");
            
          
        }

        private void buttonX3_Click(object sender, EventArgs e)
        {
            txttimsach.ResetText();
        }

        private void btnchomuon_Click(object sender, EventArgs e)
        {
            groupPanel2.Enabled = false;
        }

        private void buttonX9_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtsophieu.Text == "")
                {
                    MessageBox.Show("Hãy nhập số phiếu mượn!", "Chú ý!");
                    txtsophieu.Select();
                    return;
                }
                //if (txtmabandoc.Text == "")
                //{
                //    MessageBox.Show("Hãy nhập mã bạn đọc!", "Chú ý!");
                //    txtmabandoc.Select();
                //    return;
                //}
                if (txtsl.Text == "")
                {
                    MessageBox.Show("Hãy nhập Số lượng sách mượn!", "Chú ý!");
                    txtsl.Select();
                    return;
                }
                if (txtngaymuon.Text == "")
                {
                    MessageBox.Show("Hãy chọn Ngày mượn sách!", "Chú ý!");
                    txtngaymuon.Select();
                    return;
                }
                if (txtngayhentra.Text == "")
                {
                    MessageBox.Show("Hãy chọn ngày hẹn trả sachs!", "Chú ý!");
                    txtngayhentra.Select();
                    return;
                }
                if (txtngaylap.Text == "")
                {
                    MessageBox.Show("Hãy chọn ngày lập phiếu!", "Chú ý!");
                    txtngaylap.Select();
                    return;
                }
                //string select1 = "select idphieumuon FROM PHIEUMUON";
                //SqlDataReader dr = DataConn.ThucHienReader(select1);


                //if (dr != null)
                //{
                //    //MessageBox.Show("1");
                //    while (dr.Read())
                //    {
                //        if (dr.GetString(0) == txtsophieu.Text)
                //        {
                //            //MessageBox.Show("2");
                //            dr.Close();
                //            dr.Dispose();
                //            / throw new SameKeyException();
                //        }
                //    }
                //}
                //dr.Close();
                //dr.Dispose();

                SqlConnection cn = kn.taokn();
                cn.Open();
                SqlCommand cmd = new SqlCommand("ProInsert_Phieumuon", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@idphieumuon", SqlDbType.Int).Value = txtsophieu.Text;
                cmd.Parameters.Add("@idsothe", SqlDbType.Int).Value = txtmabandoc.Text;
         
                cmd.Parameters.Add("@ngaymuon", SqlDbType.DateTime).Value = Convert.ToDateTime(txtngaymuon.Text.ToString());
                cmd.Parameters.Add("@ngayhentra", SqlDbType.DateTime).Value = Convert.ToDateTime(txtngayhentra.Text.ToString());
                cmd.Parameters.Add("@soluongmuon", SqlDbType.Int).Value = txtsl.Text;
                cmd.Parameters.Add("@hinhthucmuon", SqlDbType.NVarChar).Value = cmbhinhthuc.Text;
                cmd.Parameters.Add("@ngaylapphieu", SqlDbType.DateTime).Value = Convert.ToDateTime(txtngaylap.Text.ToString());
                cmd.Parameters.Add("@idcanbothuvien", SqlDbType.Int).Value = cmbcanbo.Text;

                cmd.ExecuteNonQuery();
                cmd.Dispose();
                MessageBox.Show("Bạn đã thêm mới phiếu mượn thành công");

                Frm_MuonSach_Load(sender, e);


                //string select = "insert into PHIEUMUON(idphieumuon,idsothe,ngaymuon,ngayhentra,soluongmuon,hinhthuc,ngaylapphieu,idcanbothuvien) values(" + txtsophieu.Text + "," + txtmabandoc + ",N'" + txtngaymuon.Text + "',N'" + txtngayhentra.Text + "', " + txtsl.Text + ", N'" + txthinhthuc.Text + "'," + values1 + ",  N'" + txtngaylap.Text + "')";
               
                // DataConn.ThucHienCmd(select);
                ////btnthemsach_Click(sender, e);
                ////cmbnhapsach.Select();




            }

            catch (SqlException)
            {
                MessageBox.Show("Không lưu được số phiếu này!", "Chú ý!");
            }


        }

        private void btnthemsach_Click(object sender, EventArgs e)
        {

        }
        // private bool kt;
        private void buttonX11_Click(object sender, EventArgs e)
        {
          
            //string select;
            //if (kt == true)
            //{
            //    try
            //    {
            //        //Exception khi không đủ thông tin

            //        if (cmbnhapsach.Text == "")
            //        {
            //            MessageBox.Show("Hãy chọn sách mượn!", "Chú ý!");
            //            cmbnhapsach.Select();
            //            return;
            //        }
                   
                    
            //        if (double.Parse(txtslsach.Text) >= 0)
            //        {
            //            MessageBox.Show("Số lượng không được nhỏ hơn 0!");
            //            txtslsach.Select();
            //            return;
            //        }
            //        try
            //        {
            //            string select3 = "SELECT SoLuong FROM SACH WHERE idsach='" + values2 + "'";
            //            SqlDataReader dr1 = DataConn.ThucHienReader(select3);
            //            if (dr1 != null)
            //            {
            //                while (dr1.Read())
            //                {
            //                    if (dr1.GetDouble(0) < double.Parse(txtsoluong.Text))
            //                    {
            //                        dr1.Close();
            //                        dr1.Dispose();
            //                        throw new OutOfQuantityException();
            //                    }
            //                }
            //            }
            //            dr1.Close();
            //            dr1.Dispose();
            //        }
            //        catch (OutOfQuantityException)
            //        {
            //            MessageBox.Show("Số lượng hàng trong kho không đủ để mượn!");
            //            return;
            //        }

            //        //string select1 = "select idsach from D_PHIEMUON WHERE idphieumuon='"+txtsophieu.Text+"'";
            //        //SqlDataReader dr = DataConn.ThucHienReader(select1);

            //        //if (dr != null)
            //        //{
            //        //    while (dr.Read())
            //        //    {
            //        //        if (dr.GetString(0) == values1)
            //        //        {
            //        //            dr.Close();
            //        //            dr.Dispose();
            //        //            throw new SameKeyException();
            //        //        }
            //        //    }
            //        //}
            //        //dr.Close();
            //        //dr.Dispose();

            //        //Thêm vào bảng D_Phieumuon
            //        select = "insert into D_PHIEUMUON(idphieumuon,idsach,tensach, tentacgia,tenngonngu,tennhaxuatban,tinhtrangsach,soluongmuon ) values(N'" + cmbnhapsach.Text + "'," + values2 + "," + txtsophieu.Text + ",'N" + txttentg.Text + "',N'" + txtngongusach.Text + "','N" + txttennxb.Text + "','N" + txttinhtrangsach.Text + "'," + txtslsach.Text + ")";
            //        DataConn.ThucHienCmd(select);

            //        //Cập nhật lại Số Lượng sach
            //        select = "update SACH set soluong=soluong-" + txtslsach.Text + " where idsach=N'" + txtmasachmuon.Text + "'";
            //        DataConn.ThucHienCmd(select);
            //        //btnTinhTien_Click(sender, e);

            //        //HienThi();
            //    }
            //    catch (FormatException)
            //    {
            //        MessageBox.Show("Không đúng định dạng dữ liệu cần thiết! Hãy xem trợ giúp!");
            //    }
            //    //catch (NotEnoughInfoException)
            //    //{
            //    //    MessageBox.Show("Hãy nhập đủ các dữ liệu trước khi nhấn nút ghi!");
            //    //}
            //    //catch (SameKeyException)
            //    //{
            //    //    MessageBox.Show("Đã xuất sach này! ", "Thông báo!");
            //    //}

            //    catch (Exception ex)
            //    {
            //        MessageBox.Show(ex.Message);
            //    }
            //}
            //else
            {

                SqlConnection cn = kn.taokn();
                cn.Open();
                SqlCommand cmd = new SqlCommand("ProInsert_dongphieumuon", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@idphieumuon", SqlDbType.Int).Value = txtsophieu.Text;
                cmd.Parameters.Add("@idsach", SqlDbType.Int).Value = txtmasachmuon.Text;
                cmd.Parameters.Add("@tentacgia", SqlDbType.NVarChar).Value = txttentg.Text;
                cmd.Parameters.Add("@tenngonngu", SqlDbType.NVarChar).Value = txtngongusach.Text;
                cmd.Parameters.Add("@tenhanxuatban", SqlDbType.NVarChar).Value = txttennxb.Text;
                cmd.Parameters.Add("@tinhtrangsach", SqlDbType.NVarChar).Value = txttinhtrangsach.Text;
                cmd.Parameters.Add("@soluongsachmuon", SqlDbType.Int).Value = txtslsach.Text;

                cmd.ExecuteNonQuery();
                cmd.Dispose();
                MessageBox.Show("Bạn đã thêm mới sách thành công");
                Frm_MuonSach_Load(sender, e);
            }

        }

        private void buttonX8_Click(object sender, EventArgs e)
        {
            txtsophieu.ResetText();
            txtmabandoc.ResetText();
            txtngaymuon.ResetText();
            txtngayhentra.ResetText();
            txtsl.ResetText();
            txtngaylap.ResetText();
           
        }
    }
}
